package com.qdhh.enrollment.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 操作日志实体类 - 对应sys_operation_log表
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("sys_operation_log")
public class SysOperationLog {

    @TableId(value = "id", type = IdType.AUTO)
    private Long id; // 日志ID

    @TableField("user_id")
    private String userId; // 操作用户ID

    @TableField("module")
    private String module; // 操作模块

    @TableField("action")
    private String action; // 操作动作

    @TableField("old_value")
    private String oldValue; // 操作前数据（JSON格式）

    @TableField("new_value")
    private String newValue; // 操作后数据（JSON格式）

    @TableField("ip")
    private String ip; // IP地址

    @TableField("user_agent")
    private String userAgent; // 用户代理

    @TableField("deleted")
    private Integer deleted; // 软删除

    @TableField("version")
    private Integer version; // 乐观锁版本号

    @TableField("created_at")
    private LocalDateTime createdAt; // 创建时间

    @TableField("updated_at")
    private LocalDateTime updatedAt; // 更新时间
}

